package com.netease.financial.internal.di.components;

import com.netease.financial.internal.di.ActivityScope;
import com.netease.financial.internal.di.modules.ActivityModule;
import com.netease.financial.internal.di.modules.MainModule;
import com.netease.financial.module.account.AccountFragment;
import com.netease.financial.module.asset.AssetFragment;
import com.netease.financial.module.home.HomeFragment;
import com.netease.financial.module.information.InformationFragment;
import com.netease.financial.module.main.MainActivity;
import com.netease.financial.module.product.ProductFragment;

import dagger.Component;

/**
 * A scope {@link ActivityScope} component.
 * Injects user specific Fragments.
 */
@ActivityScope
@Component(dependencies = ApplicationComponent.class, modules = {ActivityModule.class, MainModule.class})
public interface MainComponent extends ActivityComponent {

    void inject(MainActivity mainActivity);

    void inject(HomeFragment homeFragment);

    void inject(ProductFragment productFragment);

    void inject(InformationFragment informationFragment);

    void inject(AssetFragment assetFragment);

    void inject(AccountFragment assetFragment);

}
